Program Slicing via FermaT Transformations
نویسنده
چکیده
In this paper we give a brief introduction to the foundations of WSL transformation theory and describe how the concept of program slicing can be formalised in the theory. This formalism naturally lends itself to several generalisations including amorphous slicing and conditioned slicing. One novel generalisation is “semantic slicing” which combines slicing and abstraction to a specification. Interprocedural semantic slicing has been implemented in the FermaT transformation system [16]: an industrial-strength transformation system designed for forward and reverse engineering, re-engineering and program comprehension.
منابع مشابه
The formal semantics of program slicing for nonterminating computations
Since the original development of program slicing in 1979 [1] there have been many attempts to define a suitable semantics which will precisely define the meaning of a slice. Particular issues include handling termination and non-termination, slicing non-terminating programs and slicing nondeterministic programs. In this paper we review and critique the main attempts to construct a semantics fo...
متن کاملReverse Engineering from Assembler to Formal Specifications via Program Transformations
The FermaT transformation system, based on research carried out over the last sixteen years at Durham University, De Montfort University and Software Migrations Ltd., is an industrial-strength formal transformation engine with many applications in program comprehension and language migration. This paper is a case study which uses automated plus manually-directed transformations and abstractions...
متن کاملA Practical Tutorial for FermaT and WSL Transformations
Software evolution is mainly about how program code changes in its environment. A very important part of these changes is the re-engineering of software that can be done very efficiently and more importantly reliably by using tools that offer formally provable transformations. FermaT is the current implementation of the language WSL (short for Wide Spectrum Language) and the surrounding code tr...
متن کاملCombining dynamic and static slicing for analysing assembler
One of the most challenging tasks a programmer can face is attempting to analyse and understand a legacy assembler system. Many features of assembler make analysis difficult, and these are the same features which make migration from assembler to a high level language difficult. In this paper we describe some of the methods used in the FermaT transformation system for analysing and migrating ass...
متن کاملPigs from sausages? Reengineering from assembler to C via FermaT transformations
Software reengineering has been described as being “about as easy as reconstructing a pig from a sausage” [11]. But the development of program transformation theory, as embodied in the FermaT transformation system, has made this miraculous feat into a practical possibility. This paper describes the theory behind the FermaT system and describes a recent migration project in which over 544,000 li...
متن کامل